<?php

namespace core\lib;

include 'phpqrcode/phpqrcode.php';

class qrcode
{
	/*
		函数QRcode::png($text, $outfile=false, $level=QR_ECLEVEL_L, 
							$size=3, $margin=4, $saveandprint=false)
		@param $text表示生成二位的的信息文本；
		@param $outfile表示是否输出二维码图片文件，默认否；
		@param $level表示容错率，也就是有被覆盖的区域还能识别
					分别是 L(QR_ECLEVEL_L, 7% )
						   M(QR_ECLEVEL_M, 15%)
						   Q(QR_ECLEVEL_Q, 25%)
						   H(QR_ECLEVEL_H, 30%) 
		@param $size表示生成图片大小,默认是3
		@param $margin表示二维码周围边框空白区域间距值；
		@param $saveandprint表示是否保存二维码并显示。
	*/
	public static function create($url, $name, $size = 8,$logo=true, $level='L', $margin=1, $saveandprint=false)
	{
		$file = MVC . QRPATH . '/' . $name . '.png';
		\QRcode::png($url, $file, $level, $size, $margin, $saveandprint);
		if($logo){
			$QR = imagecreatefromstring(file_get_contents($file));   
			$logo = imagecreatefromstring(file_get_contents(LOGO));   
			$QR_width = imagesx($QR);//二维码图片宽度   
			$QR_height = imagesy($QR);//二维码图片高度   
			$logo_width = imagesx($logo);//logo图片宽度   
			$logo_height = imagesy($logo);//logo图片高度   
			$logo_qr_width = $QR_width / 5;  
			$scale = $logo_width/$logo_qr_width;   
			$logo_qr_height = $logo_height/$scale;   
			$from_width = ($QR_width - $logo_qr_width) / 2;   
			//重新组合图片并调整大小   
			imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width,   
			$logo_qr_height, $logo_width, $logo_height);
			imagepng($QR, $file);
			imagedestroy($QR);
		}
	}
	
	public static function prepare($url,  $name, $size = 8,$logo=true, $level='L', $margin=1, $saveandprint=false)
	{
		$file = QRPATH . '/' . $name . '.png';
		if(!is_file(MVC. $file)){
			create($url,  $name, $size, $logo, $level, $margin, $saveandprint);
		}
		return $file;
	}
}